package vip.specimen.system.utils;

import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;

/**
 * *@Author: 余浪人
 * *@Date：2021/3/17 14:53
 * *@Email:yulangren520@Gmail.com
 * *@QQ:1368419640
 **/
public class DataBaseUtil {
    /**
     * 获取Sort
     *
     * @param direction - 排序方向
     * @param column    - 用于排序的字段
     */
    public static Sort getSort(String direction, String column) {
        Sort sort = null;
        if (DataBaseUtil.isEmpty(column)) return null;
        if (direction.equals("asc") || direction.equals("ASC")) {
            sort = Sort.by(Sort.Direction.ASC, column);
        } else {
            sort = Sort.by(Sort.Direction.DESC, column);
        }
        return sort;
    }

    /**
     * 获取分页
     *
     * @param pageNumber 当前页
     * @param pageSize   页面大小
     * @param sort       排序；sort为空则不排序只分页
     * @return 分页对象
     */
    public static Pageable getPageable(int pageNumber, int pageSize, Sort sort) {
        if (sort != null) {
            return PageRequest.of(pageNumber, pageSize, sort);
        }
        return PageRequest.of(pageNumber, pageSize);
    }

    /**
     * 判断String是否为空
     *
     * @param str 字符串
     * @return .
     */
    private static boolean isEmpty(String str) {
        if (null == str || str.equals("")) return true;
        return false;
    }
}
